import com.ifreeee.sort.ShellSort;
import org.junit.Test;
import java.util.Random;


public class Main {

    public static void main(String[] args) {
        System.out.println("Hello World!");
        Integer i1 = Integer.MAX_VALUE;
        Integer i2 = 1;

        System.out.println(i1 + i2);

    }

    /**
     * 可变数组测试（MutableArray 与 ArrayList 对比）
     */
    @Test
    public void test1(){
        Random r = new Random();//随机数对象
        int num1 = 0;//MutableArray的时间
        int num2 = 0;//ArrayList的时间
        int len = 10000000;//测试的数据量
        int time = 10;
        for(int j = 0;j < time;j += 1){
            //初始化操作
            int[] arr = new int[len];
            int[] arr1 = new int[len];
            for(int i = 0; i < len; i += 1){
                int a =  r.nextInt(60000);
                arr[i]  =  r.nextInt(60000);//
                arr1[i]  =  r.nextInt(60000);//两个数组数据相同
            }
            //希尔排序无需初始化准备
            long t1 = System.currentTimeMillis();
            //代码一
//            ShellSort.shellSort2(arr);
            long t2 = System.currentTimeMillis();
            //代码二
            ShellSort.shellSort(arr1);

            long t3 = System.currentTimeMillis();
            num1 += (t2 - t1);
            num2 += (t3 - t2);
        }

        System.out.println("数据量：" + len + "\n测试次数：" + time);
        System.out.println("希尔排序2 耗时：" + num1 + "\n希尔排序 耗时：" + num2);
        /*

            结论：
            改进：
        */
    }

    public void test2(){

    }
}
